import cv2
import matplotlib.pyplot as plt

img = cv2.imread("img/tian.png", cv2.IMREAD_GRAYSCALE)


sobel_result1 = cv2.Sobel(img, -1, 0, 1, ksize=3)
sobel_result2 = cv2.Sobel(img, -1, 1, 0, ksize=3)
# sobel_result3 = cv2.Sobel(img, -1, 1, 1, ksize=3) # 先得到垂直边界，然后基于垂直边界图得到水平边界
# 如果既要水平边界，又要垂直边界，可以使用图像融合进行
sobel_result3 = cv2.add(sobel_result1, sobel_result2)



plt.subplot(141)
plt.imshow(img, cmap="gray")
plt.subplot(142)
plt.imshow(sobel_result1, cmap="gray")
plt.subplot(143)
plt.imshow(sobel_result2, cmap="gray")
plt.subplot(144)
plt.imshow(sobel_result3,cmap="gray")
plt.show()
